The present invention relates to the recording of data as a third party to a data transfer wherein the data is transferred using the IP protocol and, more particularly, but not exclusively to such recording wherein numerous such transfers are carried out within the framework of an IP-based trunk connection.
Data transfers of all kinds are carried out over telephone networks, from straightforward speech data to complex and high speed transfers of data that may be compressed or encrypted.
Organizations often wish to monitor the data that is being transferred in and out of their networks, for numerous reasons. A financial securities company that receives buy and sell instructions over the telephone may wish to monitor orders in case of dispute. A customer service unit may want to monitor the performance of its telephone operators. An organization carrying confidential information may wish to be made aware when apparently confidential information is being routed outside the organization.
In the earliest telephone call monitoring systems, the calls are not actually recorded. Instead, data are typically collected on each incoming call to the system. This data consists of a log of events occurring in the system over time for an incoming call. Typical logged data elements are receipt of call, call offered to an application, call presented to an agent or an agent group, call handled or abandoned and length of call. The data representing these data elements are then processed to generate reports for use by management or supervisory personnel. The data may be organized in any number of ways, such as by agent, telephone trunk, agent groups and the like. Based on this information, management and supervisory personnel are able to evaluate an agent's telephone call activity and take corrective action where an agent's performance falls below acceptable norms.
Unfortunately, such prior art telephone call monitoring systems firstly do not actually record the calls, and secondly, are limited in their ability to discriminate between different telephone calls and agents based on criteria other than simple scheduling imperatives. At the end of the day, they rely almost entirely on human intervention to evaluate the quality of service provided by an agent.
There were thus developed prior art telephone call monitoring systems that provide for telephone call recording. However these systems typically record either all telephone calls received by an agent or record telephone calls according to a schedule.
In order to record traffic of telephone exchanges in a more efficient manner, monitoring systems were developed that use the properties of time division multiple access (TDMA), a system often used on trunk routes. Typically, an office or like organization uses a private automatic branch exchange (PABX) to connect its own numerous extension lines to each other and to the outside world. The connection to the outside world is typically a trunk connection that uses some form of multiplexing of individual connections, typically TDMA. The PABX may additionally have dedicated trunk routes or tie lines to other PABX's of the same or related organizations.
The monitoring systems make use of the time slots in TDMA. TDMA makes use of multiplexing arrangements such as T1 or E1 which define the number of slots available on the trunk. Thus E1 may define 30 time slots for example. In what is known as static allocation, a given time slot in TDMA may represent a given extension line. Thus extension 304 may always use time slot 16. The monitoring system knows this and is able to look for extension 304 as required.
In an alternative system, known as dynamic allocation, a particular extension is allocated the next available time slot as required. In this case there is provided an allocation matrix which allows the monitoring system to look up the extension required and find the necessary time slot.
TDMA was generally considered the most cost effective way of trunking prior to use of the Internet protocol. As described above, it is possible to tap into the time slots. Then from the time slots themselves it is possible to receive all the data of the call. It is also possible to record an entire trunk or a selection from a group of trunks, and in all cases it is possible to search the recording and find the connection or conversation of interest, because the association between connection and time slot is always available.
Recording of an individual connection entails identifying the time slot, obtaining the signal and demodulating. The demodulated signal can then be recorded.
As a further development, matrices for mapping conversations and trunks have been used in TDMA. The PABX as sold to a client is often not fully populated. That is to say the PABX might use a standard E1 trunk which takes 30 channels, but the customer only wants and pays for 16, so the remaining channels are unused. It is therefore possible to use a matrix to map different connections from different trunks so that a single recording channel is able to select from conversations from different trunks. The system sniffs for the relevant data.
Recently, the TDMA system has been superseded by trunking based on IP, the so-called IP trunk. IP or Internet Protocol uses data packets rather than time slots or any other form of multiplexing. What happens is that the data is digitized and placed in packets. Voice data is simply processed into the voice over IP protocol (VoIP). The packets are then provided with headers. The headers generally indicate a sequence position of the individual packet, the protocols being used, and source and destination ports of the packet.
IP trunks are regarded as more effective in terms of bandwidth efficiency and thus new PABXs are provided as IP trunks, and telephone providers (Telcos) are encouraging their subscribers to upgrade legacy systems to IP. Aside from bandwidth efficiency, the IP trunk is regarded as more effective for voice transmission since it uses the digital Voice over IP protocol. Likewise it is regarded as effective in supporting signaling of all kinds. Signaling protocols supported include Session initiation protocol (SIP) and its variation QSIP, often implemented in proprietary fashion between exchanges belonging to the same vendor.
A consequence of changing to IP trunks is however that time slots are no longer available and therefore the existing methods of monitoring that include identification of the individual connections are now rendered obsolete. The problem is exacerbated by the fact that some of the features relied upon to date to determine mapping between connections and time slots, the PABX reporting features, are not being updated by the Telcos along with the PABX itself, and so the reporting features are still based on time slots. Whilst this is insignificant in terms of most reporting needs, as the usage of the individual extensions is still correctly reported, it is problematic if using the reporting features for call monitoring, as there is no way to relate individual extensions to the ports appearing in the packet headers.
There is thus a widely recognized need for, and it would be highly advantageous to have, a third party monitoring and recording system devoid of the above limitations that is able to be effective in the IP trunk environment.